package com.xiumiing.net.base.net.regular;


import com.xiumiing.net.base.net.RequestStatus;

/**
 * @author Created by Jeff
 * on 2019/5/27.
 * des:网络接口回调 规范
 */
public interface HttpCallBackRegular<T> {


    /**
     * 接口数据回调
     */
    default void onStart() {
    }

    /**
     * 接口数据 回调
     *
     * @param t data
     */
    default void onSuccess(T t) {
    }

    /**
     * 后台返回 错误
     *
     * @param errorCode 错误码
     * @param errorMsg  错误信息
     */
    default void onResultError(int errorCode, String errorMsg) {
    }

    /**
     * 网络过程 错误
     *
     * @param errorCode 错误码
     * @param errorMsg  错误信息
     */
    default void onHttpError(int errorCode, String errorMsg) {

    }

    /**
     * 错误
     *
     * @param errorCode 错误码
     * @param errorMsg  错误信息
     */
    default void onError(int errorCode, String errorMsg) {
    }

    /**
     * 请求完成 不管成功还是失败 都调用
     */
    default void onComplete(RequestStatus requestStatus, T t){}

}
